1. Field of the Invention
This invention relates to a system for encoding binary data words into a converted digital code for transmission and thereafter decoding the received digital code into the original binary data words. In particular, this invention relates to a method of encoding words of binary information into encoded information blocks having separation blocks disposed therebetween to minimize the overall DC component of the transmitted digital code. The invention is also directed to apparatus for decoding such a coded signal, and to a record medium carrying information so encoded.
2. Brief Description of the Prior Art
In digital transmission systems and in magnetic and optical recording/playback systems, the information to be transmitted or to be recorded is presented as a sequence of symbols. These symbols collectively form an alphabet, which for binary data is a binary alphabet consisting of the symbols "1" and "0". One symbol, for example the "1", can be recorded in accordance with non-return-to-zero-mark (NRZ-M) code as a transition between two states of magnetization in the case of a magnetic disc or tape, or between two states of intensity or focus in the case of an optical disc. The other symbol, the "0", is recorded by the absence of such a transition.
As discussed in greater detail below, certain system requirements in practice impose constraints on the order in which these symbols may occur.
Some systems are required to be self-clocking. This implies that the sequence of symbols to be transmitted or to be recorded should have sufficient transitions so that a clock signal, which is required for detection and synchronization, can be generated and regulated by the sequence of symbols alone.
A further requirement may be that certain symbol sequences are forbidden in the information signal, as these sequences are intended for special purposes, for example as a synchronizing sequence. If the synchronizing sequence is mimicked by a sequence in the information signal, the information signal destroys the unambiguity of the synchronizing sequence and, consequently, renders the synchronizing sequence unsuitable for its intended purpose.
It may further be required that the transitions not follow too closely after each other in order to limit intersymbol interference.
In the case of magnetic or optical recording, the latter requirement may also be related to the information density on the recording medium. For example, if the predetermined minimum distance between two consecutive transitions on the recording medium, and consequently the minimum time interval (T.sub.min) corresponding therewith of the signal to be recorded is increased, the information density is increased substantially to the same extent. Also, the required minimum bandwidth (B.sub.min) correlates to the minimum distance T.sub.min between transitions, i.e., B.sub.min =1/(2T.sub.min).
In addition, the DC component of the sequence of symbols should be kept as close to zero as possible, preferably at zero, because information channels are not normally responsive to direct current and any DC component of the transmitted or recorded signal is likely to be lost.
A method of encoding data to satisfy this requirement is generally discussed in D. T. Tang and L. R. Bahl, "Block Codes for a Class of Constrained Noiseless Channels", Information and Control, vol. 17, nr. 5, December 1970, pp. 436-461. Therein are discussed block codes based on so-called (d,k)-constrained q-nary blocks of symbols arranged to satisfy a d-constraint and a k-constraint:
(a) d-constraint--two "1"-type symbols are separated by a run of at least d consecutive symbols of the "0" type; and
(b) k-constraint--the maximum length of a run of consecutive symbols of the "0" type is k.
For example, if a stream of binary data is considered as consecutive sequential blocks (or words) each having m data bits, the words can be encoded into corresponding code blocks of n information bits, where n&gt;m. Since n&gt;m, the number of possible code blocks (2.sup.n) far exceeds the number of different data words (2.sup.m), and only those code blocks need be used which satisfy the d-constraint and the k-constraint. ln other words, if the d- and k-constraints are imposed on the code blocks of n information bits to be transmitted or recorded, the 2.sup.m different words map onto a corresponding 2.sup.m blocks of information bits out of a total possible number of 2.sup.n such blocks. Thus, the mapping of data words into code blocks is carried out so that only those code blocks are used that satisfy the k-constraint and d-constraint.
Table I of Tang and Bahl shows how the number of different code blocks of information bits depends on the length of the block (n) and the requirement imposed on d. For example, if there are eight code blocks of information bits having a length n=4 and minimum distance d=1, and the data words to be encoded have a length m=3, then all the eight (=2.sup.3) data words can be represented by the respective eight code blocks of n=4 information bits. In these blocks, two consecutive "1"-type symbols in the blocks of information bits are separated by at least one "0"-type symbol. For this example, the coding is as follows (.rarw..fwdarw.), where the double-headed arrow indicates mapping of one word onto the corresponding code block and vice versa:
000.rarw..fwdarw.0000 PA1 001.rarw..fwdarw.0001 PA1 010.rarw..fwdarw.0010 PA1 011.rarw..fwdarw.0100 PA1 100.rarw..fwdarw.0101 PA1 101.rarw..fwdarw.1000 PA1 110.rarw..fwdarw.1001 PA1 111.rarw..fwdarw.1010
When linking-up, or catenating consecutive code blocks of information bits, it is in some cases not possible to satisfy the d-constraint without taking further measures. In Tang and Bahl, it is proposed to include separation bits between the blocks of information bits. In order to satisfy the d-constraint, one block of separation bits comprising d-bits of the "0"-type is sufficient. In the above-mentioned example, where d=1, one separation bit (a single "0") is therefore sufficient. Each three-bit data word is then encoded into a code block of five (4+1) channel bits.
This coding method has the disadvantage that the contribution of the low frequencies (including DC) to the frequency spectrum of the stream of channel bits can be rather high. A further disadvantage is that the construction of the coding converters, i.e., the modulator and demodulator and in particular, the demodulator, becomes rather complex.
In A. M. Patel, "Charge-constrained Byle-oriented (0,3) Code", I.B.M. Technical Disclosure Bulletin, Vol. 19, Nr. 7, Dec. 1976, pp. 2715-2717, it has been proposed to limit the direct-current imbalance of (d,k)-constrained codes by linking the code blocks of channel bits by using a so-called inverting link or a so-called non-inverting link, as appropriate. By use of these links, the contributions of a particular code block to the DC imbalance occur so as to offset the DC imbalance of any preceding code blocks, to keep the net DC imbalance at a minimum. However, if this technique is applied to a (d,k)-constrained coding scheme, care must be taken so that the inverting and/or non-inverting links satisfy, rather than conflict with, the d-constraint and the k-constraint when the code blocks are catenated to form a code sequence that also has a minimum DC imbalance. In other words, blocks of separation bits should be selected to satisfy the d- and k-constraints, as aforesaid, and also to reduce the net DC imbalance.